#    Chemistry Formula Balancer
#
#	作者：xkhhdx (xkhhdx [at] gmail [dot] com)
#	时间：Aug.10th, 2009
#
#	本程序是一个开源的自由软件，你可以在自由软件基金会的 GNU通用公共许可证协议 2.0 的许可下改写或修改本软件。
#
#	修改之后请在你的声明信息中保留本段信息。
#
#	请遵循 GNU GPL v2 协议的条款，具体细节请阅读此协议。
#
#	本文件定义了此项目在 GNU/Linux 平台上使用 GCC 的编译行为
#

CPP  = g++
CC   = gcc

SRC_PATH = ../source
# debug 版本，所以添加了 -g 选项
OPT_PATH = ../output/debug_gcc
OBJ  = $(OPT_PATH)/balancer.o $(OPT_PATH)/main.o $(OPT_PATH)/make_formula.o $(OPT_PATH)/balance.o $(RES)
LINKOBJ  = $(OPT_PATH)/balancer.o $(OPT_PATH)/main.o $(OPT_PATH)/make_formula.o $(OPT_PATH)/balance.o $(RES)
LIBS =   
INCS =
CXXINCS = 
BIN = $(OPT_PATH)/ChemistryFormulaBalancer
CXXFLAGS = $(CXXINCS) -g
CFLAGS = $(INCS) -g
RM = rm -f

.PHONY: all all-before all-after clean clean-custom backup

all: all-before $(BIN) all-after

clean: clean-custom
	-${RM} $(OBJ) $(BIN)

all-before:
	-@mkdir ../output/
	-@mkdir $(OPT_PATH)

$(BIN): $(OBJ)
	$(CPP) $(LINKOBJ) -o "$(OPT_PATH)/ChemistryFormulaBalancer" $(LIBS)

$(OPT_PATH)/balancer.o: $(SRC_PATH)/balancer.cpp $(SRC_PATH)/balancer.h $(SRC_PATH)/global.h
	$(CPP) -c $(SRC_PATH)/balancer.cpp -o $(OPT_PATH)/balancer.o $(CXXFLAGS)

$(OPT_PATH)/main.o: $(SRC_PATH)/main.cpp $(SRC_PATH)/balancer.h $(SRC_PATH)/global.h
	$(CPP) -c $(SRC_PATH)/main.cpp -o $(OPT_PATH)/main.o $(CXXFLAGS)

$(OPT_PATH)/make_formula.o: $(SRC_PATH)/make_formula.cpp $(SRC_PATH)/balancer.h $(SRC_PATH)/global.h
	$(CPP) -c $(SRC_PATH)/make_formula.cpp -o $(OPT_PATH)/make_formula.o $(CXXFLAGS)

$(OPT_PATH)/balance.o: $(SRC_PATH)/balance.cpp $(SRC_PATH)/balancer.h $(SRC_PATH)/global.h
	$(CPP) -c $(SRC_PATH)/balance.cpp -o $(OPT_PATH)/balance.o $(CXXFLAGS)

backup:
	tar -zcvf `date +%Y%m%d%H%M%S`.tar.gz ./
